package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DvAutorizacionDevRenta generated by hbm2java
 */
@Entity
@Table(name = "DV_AUTORIZACION_DEV_RENTA", schema = "DEVOLUCIONES")
public class DvAutorizacionDevRenta implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7283632621475120679L;
	private Long id;
	private RcRuc rcRuc;
	private String periodo;
	private EdDeclaraciones edDeclaraciones;
	private Date fhingreso;
	private Date fhautorizacion;
	private String cusuario;
	private String usuarioAutorizacion;
	private DvEstado dvEstado;
	private String resolucionRevision;
	private String comentarioRevision;
	private String comentarioFuncionario;
	private String acreditado;
	private String preEscritoCta;
	private Long correlativo;
	private String documentosAnexos;
	private Double vproductividad;
	private Set<DvMedioDevol> dvMedioDevols = new HashSet<DvMedioDevol>(0);
	private Set<DvAutDevRenMontos> dvAutDevRenMontos = new HashSet<DvAutDevRenMontos>(0);
	private Set<DvAutInconsistRta> dvAutInconsistRtas = new HashSet<DvAutInconsistRta>(0);

	public DvAutorizacionDevRenta() {
	}

	public DvAutorizacionDevRenta(Long id, DvEstado dvEstado) {
		this.id = id;
		this.dvEstado = dvEstado;
	}

	public DvAutorizacionDevRenta(Long id, RcRuc rcRuc, String periodo,
			EdDeclaraciones edDeclaraciones, String cusuario, String usuarioAutorizacion,
			DvEstado dvEstado, String resolucionRevision, String comentarioRevision,
			String comentarioFuncionario, String acreditado, String preEscritoCta,
			Long correlativo, Set<DvAutInconsistRta> dvAutInconsistRtas, Double vproductividad) {
		this.id = id;
		this.rcRuc = rcRuc;
		this.periodo = periodo;
		this.edDeclaraciones = edDeclaraciones;
		this.cusuario = cusuario;
		this.usuarioAutorizacion = usuarioAutorizacion;
		this.dvEstado = dvEstado;
		this.resolucionRevision = resolucionRevision;
		this.comentarioRevision = comentarioRevision;
		this.comentarioFuncionario = comentarioFuncionario;
		this.acreditado = acreditado;
		this.preEscritoCta = preEscritoCta;
		this.correlativo = correlativo;
		this.dvAutInconsistRtas = dvAutInconsistRtas;
		this.vproductividad = vproductividad;
	}

	@Id
	@Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "NIT")
	public RcRuc getRcRuc() {
		return this.rcRuc;
	}

	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	@Column(name = "PERIODO", length = 4)
	public String getPeriodo() {
		return this.periodo;
	}

	public void setPeriodo(String periodo) {
		this.periodo = periodo;
	}

	/**
	 * @return the edDeclaraciones
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_DECLARACION")
	public EdDeclaraciones getEdDeclaraciones() {
		return edDeclaraciones;
	}

	/**
	 * @param edDeclaraciones
	 *            the edDeclaraciones to set
	 */
	public void setEdDeclaraciones(EdDeclaraciones edDeclaraciones) {
		this.edDeclaraciones = edDeclaraciones;
	}

	/**
	 * @return the fhingreso
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(insertable = false, name = "FH_INGRESO", length = 7, updatable = false)
	public Date getFhingreso() {
		return fhingreso;
	}

	/**
	 * @param fhingreso
	 *            the fhingreso to set
	 */
	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	/**
	 * @return the fhautorizacion
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(insertable = false, name = "FH_ULT_MODIFICACION", length = 7, updatable = false)
	public Date getFhautorizacion() {
		return fhautorizacion;
	}

	/**
	 * @param fhautorizacion
	 *            the fhautorizacion to set
	 */
	public void setFhautorizacion(Date fhautorizacion) {
		this.fhautorizacion = fhautorizacion;
	}

	@Column(name = "C_USUARIO", length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Column(name = "USUARIO_AUTORIZACION", length = 30)
	public String getUsuarioAutorizacion() {
		return this.usuarioAutorizacion;
	}

	public void setUsuarioAutorizacion(String usuarioAutorizacion) {
		this.usuarioAutorizacion = usuarioAutorizacion;
	}

	/**
	 * @return the dvEstado
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ESTADO_AUTORIZACION")
	public DvEstado getDvEstado() {
		return dvEstado;
	}

	/**
	 * @param dvEstado
	 *            the dvEstado to set
	 */
	public void setDvEstado(DvEstado dvEstado) {
		this.dvEstado = dvEstado;
	}

	/**
	 * @return the resolucionrevision
	 */
	@Column(name = "RESOLUCION_REVISION", length = 2)
	public String getResolucionRevision() {
		return resolucionRevision;
	}

	/**
	 * @param resolucionrevision
	 *            the resolucionrevision to set
	 */
	public void setResolucionRevision(String resolucionRevision) {
		this.resolucionRevision = resolucionRevision;
	}

	/**
	 * @return the comentarioRevision
	 */
	@Column(name = "COMENTARIO_REVISION", length = 500)
	public String getComentarioRevision() {
		return comentarioRevision;
	}

	/**
	 * @param comentarioRevision
	 *            the comentarioRevision to set
	 */
	public void setComentarioRevision(String comentarioRevision) {
		this.comentarioRevision = comentarioRevision;
	}

	/**
	 * @return the comentarioFuncionario
	 */
	@Column(name = "COMENTARIO_FUNCIONARIO", length = 500)
	public String getComentarioFuncionario() {
		return comentarioFuncionario;
	}

	/**
	 * @param comentarioFuncionario
	 *            the comentarioFuncionario to set
	 */
	public void setComentarioFuncionario(String comentarioFuncionario) {
		this.comentarioFuncionario = comentarioFuncionario;
	}

	/**
	 * @return the preEscritoCta
	 */
	@Column(length = 1, name = "PRE_ESCRITO", nullable = true)
	public String getPreEscritoCta() {
		return preEscritoCta;
	}

	/**
	 * @param preEscritoCta
	 *            the preEscritoCta to set
	 */
	public void setPreEscritoCta(String preEscritoCta) {
		this.preEscritoCta = preEscritoCta;
	}

	@Column(length = 1, name = "ACREDITADO", nullable = true)
	public String getAcreditado() {
		return this.acreditado;
	}

	public void setAcreditado(String acreditado) {
		this.acreditado = acreditado;
	}

	/**
	 * @return the correlativo
	 */
	@Column(name = "CORRELATIVO", nullable = false, precision = 18, scale = 0)
	public Long getCorrelativo() {
		return correlativo;
	}

	/**
	 * @param correlativo
	 *            the correlativo to set
	 */
	public void setCorrelativo(Long correlativo) {
		this.correlativo = correlativo;
	}

	/**
	 * @return the documentosAnexos
	 */
	@Column(name = "DOCUMENTOS_ANEXOS", length = 500)
	public String getDocumentosAnexos() {
		return documentosAnexos;
	}

	/**
	 * @param documentosAnexos
	 *            the documentosAnexos to set
	 */
	public void setDocumentosAnexos(String documentosAnexos) {
		this.documentosAnexos = documentosAnexos;
	}

	/**
	 * @return the dvMedioDevols
	 */
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dvAutorizacionDevRenta")
	public Set<DvMedioDevol> getDvMedioDevols() {
		return dvMedioDevols;
	}

	/**
	 * @param dvMedioDevols
	 *            the dvMedioDevols to set
	 */
	public void setDvMedioDevols(Set<DvMedioDevol> dvMedioDevols) {
		this.dvMedioDevols = dvMedioDevols;
	}

	/**
	 * @return the dvAutDevRenMontos
	 */
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dvAutorizacionDevRenta")
	public Set<DvAutDevRenMontos> getDvAutDevRenMontos() {
		return dvAutDevRenMontos;
	}

	/**
	 * @param dvAutDevRenMontos
	 *            the dvAutDevRenMontos to set
	 */
	public void setDvAutDevRenMontos(Set<DvAutDevRenMontos> dvAutDevRenMontos) {
		this.dvAutDevRenMontos = dvAutDevRenMontos;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dvAutorizacionDevRenta")
	public Set<DvAutInconsistRta> getDvAutInconsistRtas() {
		return this.dvAutInconsistRtas;
	}

	public void setDvAutInconsistRtas(Set<DvAutInconsistRta> dvAutInconsistRtas) {
		this.dvAutInconsistRtas = dvAutInconsistRtas;
	}

	/**
	 * @return the vproductividad
	 */
	@Column(name = "V_PRODUCTIVIDAD", nullable = true, precision = 18, scale = 2)	
	public Double getVproductividad() {
		return vproductividad;
	}

	/**
	 * @param vproductividad the vproductividad to set
	 */
	public void setVproductividad(Double vproductividad) {
		this.vproductividad = vproductividad;
	}
	
	
}
